Vestibular dynamic inclinometer

ABSTRACT

A method of determining orientation parameters of a rigid body ( 72, 184 ), including: associating at least two multi-axis accelerometers ( 40, 42, 202, 204, 206, 208 ) with the rigid body, wherein the body has a base end  76, 188 ), a distal end ( 77, 190 ), and a line of symmetry between the base end and the distal end. The two first multi-axis accelerometers ( 40, 42 ) ( 202, 204 ) are disposed at a first point ( 80, 212 ) along the line of symmetry between the base end and the distal end. Each first multi-axis accelerometer is disposed at equal distances from the line of symmetry. The line of symmetry and both first multi-axis accelerometers lie in a first plane. The method further includes: associating a gyroscope ( 46, 210 ) with the body at the first point, equally between both first multi-axis accelerometers; gathering measured data from the two first multi-axis accelerometers and the gyroscope; and applying analysis free of calculus to determine a first inclination angle ( 88 ) ( 192 ), of the body from a stable orientation.

FIELD OF THE INVENTION

The invention is related to measurement of the inclination parameters of a body. More specifically, the invention is related to a new apparatus and method used to determine the inclination parameters of a body using strategically placed multiple inertial sensors i.e. multi-axis linear accelerometers a gyroscope.

BACKGROUND OF THE INVENTION

Inclination parameters of a body, including an inclination angle from a reference, angular velocity, angular acceleration and magnitude of acceleration of the surface of contact, may be used, for example, in robotics applications. Inclination angles are very useful feedback parameters for robotics applications, biomechanical applications (gait analysis), biomedical applications, etc.

In the absence of non-gravity acceleration, a tri-axial accelerometer can be used to measure the inclination angle of a body (e.g. as an inclinometer). For this static case, an algorithm measures the angle between the sensor unit with respect to the direction of the force of gravity. However, this technique will be less accurate when there are relatively large non-gravity accelerations. Furthermore, linear acceleration does not give complete information about all of the inclination parameters.

Gyroscopes are used to measure angular velocity. Strapdown integration algorithms estimate the change in inclination angle by integrating the angular velocity to determine relative movement of the body. The word strapdown indicates that the angular velocity is obtained from the gyroscope strapped onto an object. However, small errors in angular velocity (gyroscope signal) will give rise to large integration errors. Moreover, for measuring absolute inclination paramters as opposed to a change in inclination parameters, reference inclination parameters must to be set.

Orientation estimation is also done by fusion of accelerometer and gyroscope data. Such sensors are called Inertial Measurement Units (IMUs). A conventional IMU practice is to use three single-axis accelerometers and three single-axis gyroscopes aligned orthogonally. The IMUs fuse accelerometer and gyroscope data to estimate inclination parameters. Estimation algorithms, e,g, Kalman Filter, with knowledge of (error) dynamics of the system are used for fusing data from different sensors. The Kalman Filter emphasizes the correctness of linear accelerations when angular accelerations are low, and emphasizes the gyroscope data more when the motion is more dynamic. The IMUs are used in field robotics, assessment of human balancing, space navigation, etc, and use linear accelerations and gyroscope data.

The human body has often been a source of motivation for mechanical design. It has inspired designs of a large number of sensors, including vision, stereo vision, haptics, etc. Mechanically, the human body displays a remarkable quality of maintaining static equilibrium for a body that is in a state of unstable equilibrium (biped stance). The human body is able to maintain equilibrium even when gravity changes (e.g. the moon, etc) and when the surface of contact is accelerating (e.g. an accelerating bus). Interestingly, in such circumstances the equilibrium position of the body changes, for example the body leans forward while sprinting and backward while trying to stop. A filter algorithm particularly for estimating the inclination parameters of human body segments has been researched. The filter uses accelerometer and magnetometer readings to obtain a low frequency component of the inclination parameters and uses the gyroscope for measuring the faster changes in the inclination parameters. However, this may be problematic as the use of magnetometer in the vicinity of ferromagnetic materials will give large errors. Another sensor unit containing a dual-axis fluid inclinometer, a dual-axis electronic compass and tri-axial gyroscope, with a Kalman filter that incorporates a continuous gyroscope offset estimate has been researched.

In humans, the balancing mechanism is based on visual and vestibular feedback to maintain the body in an unstable equilibrium biped stance. Studies show that contributions from visual, joint angle proprioceptive, and force also help in human stance control. Vision improves stance stability, but in principle, can be dispensed with. Biomechanics of the vestibular system has been investigated in detail. The human vestibular system-sensor analogy has always been drawn as single gyroscope and single accelerometer based, or using additional sensor like a magnetometer.

Sensing of inclination parameters allows for using the data to measure joint angles for humanoid robots, gait analysis, fall evaluation, balance prosthesis, etc. Joint angle measurement and inertial sensing is done using camera motion capture systems, combinations of gyroscope-accelerometers-magnetometers.

Camera based motion capture systems are obtrusive and expensive. It is also difficult to be integrated into a modern medical system, such as portable medical device and point-of-care (POC) medication. Alternately, joint angle measurement may utilize magnetic rotary encoders, optical rotary encoders, and/or micro electromechanical sensors (MEMS) including accelerometers and gyroscopes. Magnetic encoders are low-cost, contactless and reliable but require special magnet coupling alignment and magnetic shielding. Optical encoders are very accurate and contactless, but are expensive and are sensitive to environmental influences (shock, vibration, etc.). These sensors must be installed at the joint center, but this may be problematic (or impossible) for some applications, e.g. human knee joints. Small and versatile MEMS related techniques utilize accelerometers and gyroscopes, together with algorithms, in a variety of different ways to estimate inclination parameters of the body. Unlike the conventional sensors, techniques utilizing MEMS accelerometers and/or gyroscopes do not require tight coupling of the sensors to relative mechanical movements, and thus are more flexible at the point of installation, more reliable, and last longer.

Techniques using combinations of gyroscope and accelerometers on robot links can be listed as CMR with gyro-integration (CMRGI), CMR with gyro-differentiation (CMRGD) and distributed CMR (DCMR). The CMRGI and CMRGD use one dual-axis linear accelerometer and one single-axis gyroscope per link for joint angle estimation. The CMRGI integrates the gyroscope signal to estimate the change in inclination angle. This method faces problems due to integration error/drift due to noise. The CMRGD differentiates the gyroscope signal to estimate angular acceleration. It uses the angular acceleration and angular velocity to estimate the acceleration of the joint, then estimates the joint angle. Due to noise, the differentiation of angular velocity to angular acceleration has undesirable errors. The DCMR method uses two dual-axis linear accelerometers per link to estimate the joint angle. Here the difference of the two acceleration signals per link is used to measure the joint angle, thus, avoiding the errors faced by other CMR methods. In this case, the accelerometers have to be theoretically placed along the line joining the two joints, also this method is not able to estimate/measure the base angle (angle of a moving link from the ground e.g. angle of tibia w.r.t gravity when human is walking). Finally, this method does not work when the joint between two links is not revolute.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic drawing of a human vestibular system.

FIG. 2 is a schematic representation of a human ear semicircular canal.

FIG. 3 is a schematic representation of a human ear otolith organ.

FIG. 4 is a schematic representation positioning of the VDI components within the VDI.

FIG. 5 is a schematic representation of human ear saccules.

FIG. 6 is a schematic representation of human ear utricles.

FIG. 7 is a schematic representation of a static body with the VDI attached.

FIG. 8 is a schematic representation of a dynamic body with the VDI attached.

FIG. 9 is a chart representing true inclination angle vs. observed inclination angle.

FIG. 10 is a chart representing true angular acceleration vs. observed angular acceleration.

FIG. 11 is a chart representing true net acceleration experienced by a body vs. observed net acceleration experienced by a body.

FIG. 12 compares in chart form angular velocity from a gyroscope and angular velocity from accelerometers.

FIG. 13 compares in chart form angular velocity from a gyroscope and angular velocity calculated using integration.

FIG. 14 is a schematic representation of two links joined with a revolute joint.

FIG. 15 is a schematic representation of a link joined via revolute joints at each end with two other links.

FIG. 16 is an input/output diagram describing the VDI function.

FIG. 17 is a schematic representation of a base link capable of planar motion in contact with a ground surface.

FIG. 18 is a schematic representation of two links joined at a revolute joint, each with a VDI on each link.

FIG. 19 is a schematic representation of a slider crank mechanism.

FIG. 20 is a chart of true base angle vs. observed base angle.

FIG. 21 is a chart of true angular velocity vs. observed angular velocity.

FIG. 22 is a chart of true base angular acceleration vs. observed base angular acceleration.

FIG. 23 is a chart of true joint angle vs. observed joint angle.

FIG. 24 is a chart of true joint angular velocity vs. observed joint angular velocity.

FIG. 25 is a chart of true joint angular acceleration vs. observed joint angular acceleration.

FIG. 26 is a chart of true joint acceleration vs. estimated joint acceleration.

FIG. 27 is a chart of variation of standard deviation of inclination measured with change in d/r ratio.

FIG. 28 is a chart of variation of standard deviation of angular velocity with change in d/r ratio.

FIG. 29 is a chart of variation of standard deviation of angular acceleration with change in d/r ratio.

FIG. 30 is a chart of variation of standard deviation of resultant acceleration with change in d/r ratio.

FIG. 31 is a schematic representation of a body possessing five degrees of freedom.

FIG. 32 depicts an intermediate coordinate system defined by orthogonal basis

FIG. 33 is a schematic representation of a robot possessing five degrees of freedom of FIG. 31 and the intermediate coordinate system of FIG. 32.

FIG. 34 is a schematic representation of a pVDI.

FIG. 35 is a chart of true inclination vs. estimated inclination within a first plane.

FIG. 36 is a chart of true inclination vs. estimated inclination within a second plane perpendicular to the first plane.

FIG. 37 is a chart of true joint angular velocity vs. observed joint angular velocity about a first axis.

FIG. 38 is a chart of true joint angular velocity vs. observed joint angular velocity about a second axis perpendicular to the first axis.

FIG. 39 is a chart of true joint angular acceleration vs. observed joint angular acceleration about a first axis.

FIG. 40 is a chart of true joint angular acceleration vs. observed joint angular acceleration about a second axis perpendicular to the first axis.

FIG. 41 is a chart of true joint acceleration vs. estimated joint acceleration.

FIG. 42 is a chart of the effect of variation in d₁/d₂ on inclinations in both planes.

FIG. 43 is a chart of the effect of variation in d₁/d₂ on angular acceleration about both axes.

FIG. 44 is a chart of the effect of variation in d₁/d₂ on joint acceleration.

DETAILED DESCRIPTION OF THE INVENTION

Novel inertial sensing sensors and method of determining inclination parameters of a body are presented. Inclination parameters of a body are defined herein as the inclination angle from a reference, angular velocity, angular acceleration and magnitude of acceleration of the surface of contact. A Vestibular Dynamic Inclinometer (VDI), disclosed herein, measures the inclination parameters for two degrees of freedom robot and can be extended to measure joint parameters for links moving in a plane i.e. links joined by revolute joint or the base link. A planar Vestibular Inclinometer (pVDI), also disclosed herein, measures the inclination parameters of five degrees of freedom robots. It can also be used to measure joint parameters for links joined by a universal joint and a moving base link in contact with a ground surface. The VDI And pVDI are motivated by a complete different analogy of the human vestibular system-sensor multiple multi-axis linear accelerometers (two or four) and a multi-axis gyroscope.

The Vestibular Dynamic Inclinometer includes a combination of two multi-axis accelerometers, (in an exemplary embodiment the multi axis accelerometers are dual-axis accelerometers), and a single-axis gyroscope. It is motivated by the human vestibular system, and can directly measure the inclination parameters without any estimation. The inclination parameters include inclination angle, angular velocity, and angular acceleration, as well as a magnitude of resultant acceleration acting of a contact surface (which is no longer only the gravitational acceleration) This direct measurement avoids errors/drift associated with the prior art's use of integration/differentiation to estimate these parameters. It also does not require system dynamics to be modeled, unlike methods using estimation techniques (e.g. Kalman Filter, etc.). Using the method disclosed herein, each set of measured data is sampled over time and is unrelated to every other set of measured data. In contrast, for each inclination parameter that is estimated in the prior art, the estimated inclination parameter is based on an inclination parameter that occurred earlier in time (i.e. dynamics modeling and filtering techniques).

The inclination parameters may be used to help balance robots and is enhanced by a further concept of a Dynamic Equilibrium Axis (DEA) also introduced herein. The DEA is parallel to the resultant acceleration of the surface of contact (i.e. point O in FIG. 8). It is the axis along which the center of mass (COM) must lie in order for the body to be at equilibrium position. Uniquely, the inclination angle provided by the VDI (pVDI) sensor(s) and method(s) disclosed herein is with respect to the DEA, and thus not directly tied to gravity alone. Unlike all other methods known, the novel VDI (pVDI) sensor(s) and method(s) disclosed do not suffer from drift/integration errors present in other methods, and is independent of gravity. The computation costs are low due to the utilization of closed form solutions only. Further, the results are valid for large angles, and the sensors need not be placed exactly at the joints i.e. are flexible at point of application.

Unlike in any previous devices based on the human ear, a completely different analogy is drawn for measurement of inclination parameters for a body modeled as a planar inverted pendulum. The two parts of the vestibular organ—otolith organs and semicircular canals are interpreted as a MEMS dual-axis linear accelerometer and a MEMS single-axis gyroscope respectively. The symmetric design of the ears motivated the placement of the accelerometers—symmetrically placed across a vertical line. This novel IMU sensor is called the Vestibular Dynamic Inclinometer (VDI). The measurement of all the parameters is done using kinematic analysis, and thus is independent of the dynamics of the body. For all these reasons the cost of making the VDI is greatly reduced relative to the prior art IMUs. The Vestibular Dynamic Inclinometer (VDI) uses two strategically (symmetrically) placed multi-axis accelerometers and one single axis gyroscope to measure inclination parameters for robots undergoing planar motion (two degrees-of-freedom robots).

To analyze the equilibrium position of a robot, the concept of Dynamic Equilibrium Axis (DEA) is introduced. The DEA is the axis along which the robot is at equilibrium. The inclination angle is obtained relative to the Dynamic Equilibrium Axis (DEA). It is proposed that this is a better control parameter as the position of equilibrium is different from the absolute position (i.e. the vertical posture of humans or unstable equilibrium position of inverted pendulum under gravitational force).

Disclosed below are: an explanation of the kinematic analysis for a robot moving in a plane; the concept of the DEA; and a description of the VDI. Following this is a discussion including: an input-output model for the VDI on a body (e.g. a link); a parameter measurement algorithm; a description of the pVDI, which extends the VDI to a five degrees-of-freedom motion of a robots; application of the DEA concept to five-degrees-of-freedom robots; and a parameter measurement algorithm for links joined by universal joint.

Analogy from the Human Vestibular System

For measurement of the spatial orientation of the body, humans possess vestibular organs as seen in FIG. 1, which is the equivalent biological inertial measurement unit 10. They consist of two main receptor systems for inertial sensing semicircular canals 12 having ducts 14 and ampullae 16, and Otolith organs 18, including the utricle 20 and the saccule 22. The semicircular canals 12 are filled with viscous fluid, endolymph, which moves when the human body experiences angular acceleration in low frequency rotation and angular velocity in the mid- to high-frequency range. As illustrated in FIG. 2, angular acceleration causes a viscous flow of endolymph through the ducts 14 and into the ampulla 16, causing a cupula 24 to deflect 26 from an equilibrium position 28 to a deflected position 30 register an accumulated angular velocity. Angular acceleration causes a viscous flow of endolymph through the semicircular canal and into the ampulla, deflecting the cupula to register accumulated angular velocity. This part is assumed to be analogous to a gyroscope (MEMS) sensor. As illustrated in FIG. 3, otolith organs 18 deflect 30 from an equilibrium position 32 to a deflected position 34 to register linear acceleration.

The utricle 20 is sensitive to a change in horizontal linear acceleration and the saccule 22 is sensitive to the vertical linear acceleration. Damped by fluid endolymph, otolith organs 18 deflect from the equilibrium position 28 to register linear acceleration.

A dual-axis accelerometer (MEMS) is assumed to be analogous to the otolith organs 18. Here, each vestibular organ 12+18, (or alternately, 14,16, 20, and 22) is assumed to be analogous to a dual-axis accelerometer and a single-axis gyroscope (the VDI). Human ears are places placed symmetrically about the an axis of symmetry (along which the nose lies), thus in an exemplary embodiment the VDI sensor that has the vestibular-analogous accelerometer-gyroscope symmetrically placed about a symmetrical line. In another exemplary embodiment the gyroscope need not be symmetrically placed on the body to be measured. The gyroscope readings for both the gyroscopes will be theoretically the same (as they are attached to the same rigid body). However, the accelerometer readings for both accelerometers will be different. The design in FIG. 4 is proposed which has multi-axis, accelerometers, in particular it has two dual-axis accelerometers 40, 42 (L, R) symmetrically placed across a vertical line 44 and one gyroscope, in particular a single-axis gyroscope 46 (G). This sensor is called the Vestibular Dynamic Inclinometer 47 (VDI). The two dual-axis accelerometers 40, 42 and the gyroscope 46 may be secured to a substrate 48. The dual axis accelerometers 40, 42 may be connected to a processor 49 to carry out analysis of the measured data.

The vestibular system is capable of sensing the angular acceleration from the difference of the linear acceleration readings of left vertical otolith 50 and right vertical otoliths 52, as can be seen in FIG. 5. The difference between left horizontal otolith 54 and right horizontal otoliths 56 can also sense the magnitude of the angular velocity but is not able to determine the direction, as can be seen in FIG. 6. As mentioned earlier, drawing from the efficient human vestibular system, the otolith organs 18 are interpreted as dual-axis accelerometers 40, 42 having two components—radial and tangential or vertical and horizontal. The next few sections confirm that the difference between horizontal (or radial) otoliths (accelerometer readings) yield angular acceleration. Also, the difference between vertical (or tangential) otoliths (accelerometer readings) yields magnitude, and not direction of angular velocity. The semicircular canal mechanics to calculate the angular velocity is interpreted as a gyroscope rather than an integration of angular acceleration to obtain angular velocity, mainly to avoid accumulation of error due to integration.

Explanation of the Kinematic Analysis for the Case of a Static Inclination

As seen in FIG. 7, A robot 70 is modeled as a rigid body rod 72 with mass m, center of mass C 74 along the rod rigid body 72 at a distance r_(C) from the a base end 76 of the rigid body 72 opposite a distal end 77, moment of inertia I_(C) ^(B) at point C and angular damping coefficient K_(d) (see FIGS. 7, 8). Point O, the base end 76 of the rigid body 72, is the point of contact between the a platform 78 (which may be inertial or non-inertial) and the rigid body 72. The rigid body 72 moves within the plane of the paper that includes the X axis and the Y axis, known as a first plane, in which the dual axis accelerometers 40, 42 reside.

Let N represent the inertial reference frame and B represent the reference frame fixed to the rigid body 72. The angular velocity between coordinate system N and B is denoted by N_(ω)B which can be written as

N_(ω)B={hacek over (θ)}ê_(z).   (1)

A coordinate system fixed in inertial reference frame with origin at O, Y-axis parallel to the ground, Z-axis into the plane of the paper, and fixed in reference frame N is defined with {{circumflex over (x)}, ŷ, {circumflex over (z)}} as the orthonormal basis. Another coordinate system with origin O fixed in body reference frame B, {ê_(r), ê_(g), ê_(z)} orthogonal basis vectors in radial, tangential directions, and into the plane of the paper respectively is defined. The acceleration sensed in L/R accelerometer is denoted by N_(a) _(L/R) . The placement of the dual axis accelerometers 40, 42 is symmetric about point P 80 (analogous to the human nose). Each dual axis accelerometer includes a first axis 82 and a second axis 84. The first axis 82 are within the first plane and are perpendicular to the line of symmetry, which may be the line indicated by points O, C, and P, the second axes 84 are within the first plane and are parallel to the line of symmetry Point P 80, also known as a first position, or position of association of the VDI, is at a distance I 86 radially along the bodyrigid body 72, whereas, the accelerometers R, L 40, 42 are located at a distance d/2 on either side of point P 80 in a tangential direction to the rigid body 72. (It is possible to place the dual axis accelerometers 40, 42 at other locations and account for the lack of symmetry within the algorithms. However when placed using symmetry any necessary calibration may be quicker.) It is desired to obtain the inclination angle (θ) 88, angular velocity ({dot over (θ)}) and angular acceleration ({umlaut over (θ)}) from the designed sensors 40, 42, 80 for the following cases—inertial platform and non-inertial platform. In the case when the platform 78 is inertial or static, the acceleration experienced by point O 76 is only the gravitational acceleration as shown in FIG. 7.

The kinematic analysis to obtain the sensed accelerations in the accelerometers and at any point Mon the bodyrigid body 72

r _(M) =r _(O) +r _(O→M)

N _(V) _(M) =N _(V) _(O) +N _(ω) B×r _(O→M)

N _(a) _(M) =N _(a) _(O) +N _(α) B×r _(O→M+N) _(ω) B×(N _(ω) B×r _(O→M)).   (2)

where M may be {L, R, C} and it is known

$\begin{matrix} {{r_{O\rightarrow C} = {r_{C}{\hat{e}}_{r}}}{r_{O\rightarrow{L/R}} = {{l{\hat{e}}_{r}} \mp {\frac{d}{2}{\hat{e}}_{\theta}}}}{{{}_{}^{}{}_{}^{}} = {g = {{{- g}\; \cos \; \theta \; {\hat{e}}_{r}} + {g\; \sin \; \theta \; {\hat{e}}_{\theta}}}}}} & (3) \end{matrix}$

where N_(a) ₀ denotes the acceleration sensed by the accelerometer when it is placed at point O 76 i.e. the gravitational acceleration. Thus, yielding_(□)

$\begin{matrix} {{{}_{}^{}{}_{}^{}} = {g + {r_{C}\left( {{\overset{¨}{\theta}{\hat{e}}_{\theta}} - {{\overset{.}{\theta}}^{2}{\hat{e}}_{r}}} \right)}}} & (4) \\ {{{}_{}^{}{}_{}^{}} = {{{- \left( {{l{\overset{.}{\theta}}^{2}} - {\frac{d}{2}\overset{¨}{\theta}} - {g\; \cos \; \theta}} \right)}{\hat{e}}_{r}} + {\left( {{l\overset{¨}{\theta}} + {\frac{d}{2}{\overset{.}{\theta}}^{2}} - {g\; \sin \; \theta}} \right){\hat{e}}_{\theta}}}} & (5) \\ {{{}_{}^{}{}_{}^{}} = {{{- \left( {{l{\overset{.}{\theta}}^{2}} + {\frac{d}{2}\overset{¨}{\theta}} - {g\; \cos \; \theta}} \right)}{\hat{e}}_{r}} + {\left( {{l\overset{¨}{\theta}} - {\frac{d}{2}{\overset{.}{\theta}}^{2}} - {g\; \sin \; \theta}} \right){\hat{e}}_{\theta}}}} & (6) \end{matrix}$

Uniquely, only a kinematic analysis of the body is performed, thus, it is important to observe that all the calculations are independent of the dynamics of the body rigid body 72 i.e. control torque, external force etc.

Four readings are obtained from the two dual axis accelerometers 40, 42 (radial and tangential components in Equations 5, 6). Calculating the difference and mean of the readings and calling them ζ₁, ζ₂ yields

$\begin{matrix} {\zeta_{1} = {{{}_{}^{}{}_{}^{}} - {{}_{}^{}{}_{}^{}}}} & (7) \\ {\zeta_{2} = {\frac{1}{2}\left( {{{}_{}^{}{}_{}^{}} + {{}_{}^{}{}_{}^{}}} \right)}} & (8) \\ {\zeta_{1} = {\underset{\underset{\zeta_{1r}}{}}{d\overset{¨}{\theta}} + {\underset{\underset{\zeta_{1\theta}}{}}{d{\overset{¨}{\theta}}^{2}}{\hat{e}}_{\theta}}}} & (9) \\ {{\overset{.}{\zeta}}_{2} = {{\underset{\underset{\zeta_{2r}}{}}{\left( {{l{\overset{.}{\theta}}^{2}} - {g\; \cos \; \theta}} \right)}{\hat{e}}_{r}} + {\underset{\underset{\zeta_{2\theta}}{}}{\left( {{l\overset{¨}{\theta}} - {g\; \sin \; \theta}} \right)}{\hat{e}}_{\theta}}}} & (10) \end{matrix}$

Thus, the angular acceleration, velocity and inclination angle 88 can be obtained as

$\begin{matrix} {\overset{¨}{\theta} = \frac{\zeta_{1r}}{d}} & (11) \\ {{\sin \; \theta} = \frac{{\frac{l}{d}\zeta_{1r}} - \zeta_{2\; \theta}}{g}} & (12) \\ {{\cos \; \theta} = \frac{{\frac{1}{d}{\overset{.}{\zeta}}_{1\theta}} + \zeta_{2r}}{g}} & (13) \\ {{\tan \; \theta} = \frac{{\frac{l}{d}{\overset{.}{\zeta}}_{1r}} - \zeta_{2\theta}}{{\frac{l}{d}{\overset{.}{\zeta}}_{1\theta}} + \zeta_{2r}}} & (14) \\ {g = {\frac{{\frac{l}{d}{\overset{.}{\zeta}}_{1r}} - \zeta_{2\theta}}{{\sin \; \theta}\;} = \frac{{\frac{l}{d}{\overset{.}{\zeta}}_{1\theta}} + \zeta_{2r}}{\cos \; \theta}}} & (15) \end{matrix}$

It is important to observe that tan θ (Equation 14) is independent of gravitational acceleration g and the inclination angle θ 88 can be uniquely determined (assuming g >0). It is also. It is also possible to determine the gravitational acceleration g from Equation 15. Obtaining the angular velocity (θ) is a little tricky, as the sensor mathematics is able to obtain the magnitude of the angular acceleration, but not the direction. Angular velocity can be obtained by integration of angular acceleration (Equation 16), directly from accelerometers (Equation 17) or from the gyroscope readings (Equation1).

$\begin{matrix} {{\overset{.}{\theta}}_{I} = {\int{\overset{¨}{\theta}{t}}}} & (16) \\ {{\overset{.}{\theta}}_{otolith} = {{{sign}\left( {\int{\overset{¨}{\theta}{t}}} \right)}\sqrt{\frac{\zeta_{1\theta}}{d}}}} & (17) \end{matrix}$

Calculation of angular velocity from Equation 16 is prone to accumulation of error (drift) when the body is in state of equilibrium and Equation 17 will result in magnification of contribution of noise as a square root is involved. For all these reasons, the reading from the gyroscope, Equation 1, is used to calculate the angular velocity. Stated another way, this method takes the mean and difference of the accelerometer readings and uses them with the gyroscope readings to get inclination parameters.

Explanation of the Kinematic Analysis for a Robot Moving in a Plane and the Dynamic Equilibrium Axis (DEA)

In the case when the platform 78 is non-inertial or moving, the acceleration experienced by point O 76 is the sum of gravitational acceleration, g, and acceleration of the platform, a, as shown in FIG. 8. Let {tilde over (g)} be defined as follows

{tilde over (g)}×g+a   (18)

Let □ be the angle between g and {tilde over (g)} measured in a clockwise sense. The Dynamic Equilibrium Coordinate system is defined to be fixed in the inertial reference frame N with origin at point O 76. The vectors {ê_(x), ê_(y), ê_(z)} form a set of orthonormal basis vectors such that ê_(ω) is parallel to vector {tilde over (g)} and ê_(z) is into the plane of the paper.

The kinematic analysis is performed, and the acceleration of point O 76 changes to

N _(a) _(O) ={tilde over (g)}32 {tilde over (g)}ê _(x) =−{tilde over (g)} cos θè_(r) +{tilde over (g)} sin θê_(θ)  (19)

Also, assuming constant ‘a’,

$\begin{matrix} {\mspace{79mu} {{{}_{}^{}{}_{}^{}} = {\overset{\sim}{g} + {r_{C}\left( {{\overset{¨}{\theta}\text{?}} - {{\overset{.}{\theta}}^{2}{\hat{e}}_{r}}} \right)}}}} & (20) \\ {{{\,\mspace{79mu}}^{N}a_{L}} = {{{- \left( {{l{\overset{.}{\theta}}^{2}} - {\frac{d}{2}\overset{¨}{\theta}} - {\overset{\sim}{g}\; \cos \; \theta}} \right)}{\hat{e}}_{r}} + {\left( {{l\overset{¨}{\theta}} + {\frac{d}{2}{\overset{.}{\theta}}^{2}} - {\overset{\sim}{g}\; \sin \; \theta}} \right){\hat{e}}_{\theta}}}} & (21) \\ {{{{\,\mspace{79mu}}^{N}a_{R}} = {{{- \left( {{l{\overset{.}{\theta}}^{2}} + {\frac{d}{2}\overset{¨}{\theta}} - {\overset{\sim}{g}\; \cos \; \theta}} \right)}{\hat{e}}_{r}} + {\left( {{l\overset{¨}{\theta}} - {\frac{d}{2}{\overset{.}{\theta}}^{2}} - {\overset{\sim}{g}\; \sin \; \theta}} \right){\hat{e}}_{\theta}}}}{\text{?}\text{indicates text missing or illegible when filed}}} & (22) \end{matrix}$

Let the reaction forces at point O 76 be denoted by F_(R). Applying Euler's first and second law at the center of mass C 74 of the body gives

|m({tilde over (g)}+r _(C)({umlaut over (θ)}ê _(θ)−{dot over (θ)}² ê _(r)))=F _(R)   (23)

I _(C) ^(B) , N _(α) C×−K _(d) {dot over (θ)}ê _(z)+(−r _(C) ê _(r))×F _(R)   (24)

Thus.

(I _(C) ^(B) +mr _(C) ²) {umlaut over (θ)}=−K _(d) {dot over (θ)}+m{tilde over (g)}r _(C) sin θ  (25)

From Equation 25, the equilibrium position ({dot over (θ)}*={dot over (θ)}*=0) of the system is θ*=0. The aim of the problem is to bring the rigid body 72 to its equilibrium position which is no longer the absolute vertical position (i.e. direction parallel to gravity vector g). The new equilibrium position is defined as the Dynamic Equilibrium Axis (DEA) which is parallel to the resulting acceleration on the body {tilde over (g)}, inclined at angle □ to g. The Dynamic Equilibrium Axis (DEA) 90 is dependent on the resultant acceleration of point O 76 and thus is time-varying (more precisely, acceleration varying). When the rigid body 72 is accelerating, □ is positive, when its decelerating, □ is negative. This fact can be observed when humans lean forward when trying to accelerate (sprint) and bend backwards while attempting to de-accelerate. Both the cases display how the equilibrium axis (DEA) 90 changes with acceleration being experienced by the rigid body 72. As humans are able to balance while experiencing varying acceleration, it reinforces the efficiency of the sensor design.

Quantities ζ₁, ζ₂ are defined as in Equations 7, 8 ζ_(1r), ζ_(2r) and ζ_(1θ), ζ_(2θ) represent their radial and tangential components. Angular velocity is obtained from Equation 1 i.e. directly from the gyroscope. Other inclination parameters are obtained in the following manner

$\begin{matrix} {\overset{¨}{\theta} = \frac{\zeta_{1r}}{d}} & (26) \\ {{\sin \; \theta} = \frac{{\frac{l}{d}{\overset{.}{\zeta}}_{1r}} - \zeta_{2\; \theta}}{\overset{\sim}{g}}} & (27) \\ {{\cos \; \theta} = \frac{{\frac{l}{d}\zeta_{1\theta}} + \zeta_{2r}}{\overset{\sim}{g}}} & (28) \\ {{\tan \; \theta} = \frac{{\frac{l}{d}\zeta_{1r}} - \zeta_{2\theta}}{{\frac{l}{d}\zeta_{1\theta}} + \zeta_{2r}}} & (29) \\ {\overset{\sim}{g} = {\frac{{\frac{l}{d}\zeta_{1r}} - \zeta_{2\theta}}{\sin \; \theta} = \frac{{\left( \frac{l}{d} \right){\overset{.}{\zeta}}_{1\theta}} + \zeta_{2r}}{\cos \; \theta}}} & (30) \end{matrix}$

It can again be observed that the inclination angle, Equation 29, is independent of the net acceleration ({tilde over (g)}) of point O 76 and can be uniquely determined (assuming {tilde over (g)}>0). It is also possible to determine the magnitude of the resultant acceleration ({tilde over (g)}) of surface of contact (i.e. point O 76). The inclination angle thus obtained is the inclination angle from the “equilibrium position” or the DEA 90, not the absolute vertical. This is foreseen as a better control parameter for future robot postural balance and control. Stated another way the use of multiple inertial sensors (linear accelerometers) permits the VDI to compensate for non-gravitational acceleration measured by linear accelerometers.

Simulations

Simulations of the above were performed using MATLAB software. The parameters for simulations are taken to be analogous to the human body with I=2 m, d=0.25 m. The sensor noise was modeled as stationary white noise which is constant throughout the frequency spectrum based on the specification data sheet of accelerometer ADXL213 (noise density of 160 μg/√{square root over (Hz)} rms) and gyroscope ADXRS450 (noise density of 0.015°/sec/√{square root over (Hz)}). FIG. 9 shows good estimation of inclination angle θ purely from kinematic calculations and without use of system dynamics (Kalman Filter). The error in measurement seems acceptable/small as the surface of contact (foot for humans) compensates for it while balancing. The angular acceleration and magnitude of net acceleration acting on the body are also well estimated as shown in FIGS. 10 and 11. FIGS. 12 and 13 prove why calculation of angular velocity from equations 16, 17 is erroneous. FIG. 12 compares the angular velocity estimated using Equation 17 to that from gyroscope. FIG. 13 shows the concept of error accumulation (drift) due to integration when angular velocity is calculated using Equation 16.

An Input-Output Model for the VDI on a Body (e.g. a Link)

The VDI can also be used to estimate inclination parameters of an assembly of bodies, for example, a base link and a second link joined at a joint. A desired application may include legs of a biped robot.

The following nomenclature is used within this section

-   DEA Dynamic Axis -   N_(a)i_(Q) Acceleration of point Q in inertial reference frame and     represented in link t coordinate system -   O_(i,j) Revolute joint between link i and link j -   θ_(i,j) Joint-angle between Iink i and link j -   γ_(k) Angle between the vertical (the DEA) and the link k -   VDI_(i) The VDI sensor placed on link i -   N_(ω)j Angular velocity of link j in w.r.t. inertial reference frame -   N_(α)j Angular acceleration of link j in w.r.t. inertial reference     frame

A mechanism 100 including a series of linkages 102, 104 joined by revolute joint 106 is given as shown in FIG. 14. The linkages 102, 104 are modeled as rigid bodies with known respective link lengths 108, 110 and respective Vestibular Dynamic Inclinometers (VDI) 112, 114 are located on each linkage 102, 104 at some convenient respective distance 116, 118 along the line joining the two link joints 106, 120 or the point of contact 122 and a joint 106 in case of the base link 102. The base link 102 is defined as a link that has a joint 106 at one end of the link 102 and the other end is in contact with the base 130 (or ground, which is assumed to be stationary) surface. Let O_(i,j) represent the joint 106 joining link i 102 to link j 104. The line joining joints O_(h,i)(O_(b) for base link) and O_(i,j)(O_(b,h) for the base link) is referred to as the link vector of the link. Let the VDI 112 be located at a distance r_(i) along the link vector of link i 102. The joint angle θ_(i,j) between links i 102 and j 104 is defined as the angle of rotation between the respective link coordinate systems. The link length of link I is given by I_(i). coordinate systems.

Let N represent the inertial reference frame and L_(i) represent the reference frame fixed on the link i. The link i coordinate system with origin at point O_(p,i) is fixed in the link i reference frame L_(i), with ê_(i)={e_(ir), e_(iθ), e_(iz)} orthogonal basis vectors such that e_(ir) is along the link vector of link i and e_(iz) is into the plane of paper as shown in FIG. 14. The joint angle θ_(i,j) is the angle between e_(ir) and e_(jr). For the case of the base link, the origin of the coordinate system lies at the point of contact O_(b) and the angle between the vertical (direction of gravitational acceleration) and the link is referred to as the base angle (γ_(b)) as shown in FIG. 17.

It is desired to obtain the base angle (γ_(b)), joint angles (θ_(i,j)s), angular velocities (N_(ω)i_(s)) and the angular accelerations (N_(α) ^(i) _(s)) of the links with given link lengths(I_(i)s) and location of the VDI sensors(r_(i)s).

For the case of a link i 102 joined to links h and j 104 as shown in FIG. 15, the inclination parameters estimated by the VDI 112 will be the inclination angle from the DEA 140 of θ_(i), angular velocity {dot over (θ)}_(i), angular acceleration {umlaut over (θ)}_(i) and magnitude of acceleration {tilde over (g)}_(i) acting at the point of (virtual) contact O_(h,i) 130 given the location of the VDI 112, r_(i) as follows:

$\begin{matrix} {\text{?} = \left( {\text{?} - \text{?}} \right)} & (31) \\ {\text{?} = {\frac{1}{2}\left( {\text{?} + \text{?}} \right)}} & (32) \\ {\text{?} = \frac{\left( \text{?} \right)_{r}}{d}} & (33) \\ {\mspace{79mu} {\theta = {a\; \tan \; 2\left( {{{\frac{r_{i}}{d}\left( \text{?} \right)_{r}} - \left( \text{?} \right)_{\theta}},{{\frac{\text{?}}{d}\left( \text{?} \right)_{\theta}} + \left( \text{?} \right)_{r}}} \right)}}} & (34) \\ {\mspace{79mu} {{{\overset{\sim}{g}}_{i} = {\frac{{\frac{\text{?}}{d}\left( \text{?} \right)_{r}} - \left( \text{?} \right)_{\theta}}{\sin \; \theta} = \frac{{\frac{\text{?}}{d}\left( \text{?} \right)_{\theta}} + \left( \text{?} \right)_{r}}{\cos \; \theta}}}{\text{?}\text{indicates text missing or illegible when filed}}}} & (35) \end{matrix}$

For a point Q on link i 102 given the displacement vector from point O_(h,i) to point Q as r_(Oh,i→Q), the acceleration of point Q can be written as

N _(α) _(Q) =N _(α) _(Oh,i) +N _(α) i×r _(O) _(h,i) _(→Q)+N_(ωi i)×(N _(ω) i×r _(O) _(h,i) _(j=Q))   (36)

The resultant acceleration of point O_(i,j) can be determined in the following manner

N _(α) _(Oi,j) =N _(αp) _(i) +(l _(i) −r _(i))(N _(α) i×e _(ir) +N _(ω) i×(N _(ω) i×e _(ir)))   (37)

The acceleration of point Pi in the Li coordinate system, N_(α)i_(P) _(i) , is the mean of the left and right accelerometer readings of the VDI 112 and is an observable quantity. The acceleration of point O_(i,j) in the L_(i) coordinate system can be written as

$\begin{matrix} {{{\,\mspace{79mu}}^{N}a_{O_{i,j}}^{i}} = {{{}_{}^{}{}_{Pi}^{}} + {\left( {l_{i} - r_{i}} \right)\left\lbrack {{\begin{matrix} {- {\overset{.}{\theta}}_{i}^{2}} \\ {\overset{¨}{\theta}}_{i} \end{matrix}\text{?}} = {{{\overset{\sim}{g}}_{j}.\text{?}}\text{indicates text missing or illegible when filed}}} \right.}}} & (38) \end{matrix}$

Let □_(i) be the angle of the resultant acceleration at point O_(i,j) with e_(ir). It is worthwhile to indicate that the resultant acceleration of point O_(i,j) will be parallel to the DEA 140 for the next link j. For this reason, N_(α) _(Oi,j) is referred to as {tilde over (g)}_(j) in FIG. 15. The angle □_(i) can be uniquely determined as

$\begin{matrix} {\varphi_{i} = {a\; \tan \; 2\left( {\left( {{}_{}^{}{}_{O{i,j}}^{}} \right)_{\theta},\left( {{}_{}^{}{}_{O{i,j}}^{}} \right)_{r}} \right)}} & (39) \end{matrix}$

The parameters outputs of the VDI_(i) are illustrated in FIG. 15 and the outputs of the VDI_(i) are summarized in FIG. 16.

Parameter Measurement

Base Link Parameters: Given the base link b 150 as in FIG. 17, the parameters to be estimated are obtained from the VDI_(b) (FIG. 16). As shown in the figure, the “ground” surface 152 is assumed to be at rest (only gravitational acceleration). In this case, the DEA 154 coincides with the vertical i.e. direction 156 of gravitational acceleration(g). The inclination parameters (base angle, angular velocity of the link, and angular acceleration) are obtained in the following manner

γ_(b)=θ_(b)   (40)

N_(ω)b={dot over (θ)}_(b)   (41)

N_(α)b={dot over (θ)}_(b)   (42)

Inter-link Parameters: For two links i, j joined at point O_(i,j) as shown in FIG. 18, it is desired to find the inclination parameters. The DEA 160 for link j is parallel to the resultant acceleration at point O_(i,j)({tilde over (g)}_(j)). The angle between e_(ir) and {tilde over (g)}_(j) is given by □_(i). The value of □_(i) is determined from VDI_(i) and θ_(j) is obtained from VDIj (FIG. 16). So, the joint angle is estimated as follows

θ_(i,j)=φ_(i)+θ_(j)   (43)

The other inclination parameters are estimated as follows

N_(ω)i={dot over (θ)}_(i), N_(ω)j={dot over (θ)}_(j)   (44)

N_(α)i={umlaut over (θ)}_(i), N_(α)j={umlaut over (θ)}_(j)   (45)

Simulation that Incorporates Noise in the Sensors.

A slider crank mechanism 170, shown in FIG. 19 with link lengths l₁=0.3 m, l₂=0.6 m and sensor locations of r₁=0.25 m, r₂=0.5 m, is simulated in MATLAB®. The sensor noise was modeled as stationary white noise which is constant throughout the frequency spectrum based on the specification data sheet of accelerometer ADXL213 (noise density of 160 μg/√{square root over (Hz)} rms) and gyroscope ADXRS450 (noise density of 0.015°/sec/√{square root over (Hz)}) manufactured by Analog Devices. The frequency of operation of the sensors is assumed to be 10 Hz. The location of the linear accelerometers in the VDI was assumed to be 10 cm apart. The platform 172 is assumed to be stationary. The simulation results are very encouraging and shown in FIGS. 20 through 26. The estimates for γ₁, θ₁₂, N_(ω) ₁ , {dot over (θ)}₁₂, N_(α) ₁ , {umlaut over (θ)}₁₂, g and the resultant acceleration of the joint have standard deviations of 0.31 deg, 0.10 deg, 0.15 deg/sec, 0.15 deg/sec, 11.89 deg/sec2, 11.5 deg/sec2, 0.05 m/sec2 and 0.11 m/sec2 respectively. The propagation of error is not observed in simulations and the estimates do not ‘drift’ over time.

It is observed that the ratio of the distance between the linear accelerometers in the VDI (d) and the location of the VDI (r) affect the standard deviation errors for inclination parameters (base angle, joint angle, etc.). For the present simulation, the plots of the variation of standard deviation of angle, angular velocity, angular acceleration and resultant acceleration measured are shown in FIGS. 27 through 30. As it can be observed, a change in d/r ratio has an effect on inclination (angular), angular acceleration and resultant acceleration measurement error (standard deviation). The ideal d/r ratio may be 1 (which may not be practically possible), but a ratio of 0.4 above may give a satisfactory measurement error for common practical applications.

The Planar Vestibular Dynamic Inclinometer (pVDI) and Dynamic Equilibrium Axis for Five Degrees-of-Freedom Robots

A robot 180 is modeled as an inverted pendulum as shown in FIG. 31. The robot 180 possesses five degrees-of-freedom (planar motion of the base and two degrees-of-freedom serial chain). It is desired to sense the inclination angle, angular velocity, angular acceleration, and magnitude of acceleration of the platform 182 a.k.a. the surface of contact. The rigid body is modeled as a rod 184 with mass m, center of mass C 186 along the rod 184 at a distance r_(c) from a base end 188 of the rod 184, moment of inertia I_(C) ^(B) at point C 186 and angular damping coefficient K_(d). Let point O be at the base end 188 of the rigid body 184 in contact with a base platform 182 which is constrained to move on a surface (or a plane). The rigid body 184 may translate on a surface and is free to rotate. The planar Vestibular Dynamic Inclinometer uses four strategically (symmetrically) placed multi-axis accelerometers and one tri-axis gyroscope to measure inclination parameters for spatial motion (five-degrees-of-freedom robots) as show in FIG. 34. The tri-axis gyroscope may or may not be placed symmetrically on the rigid body 184. It may also be mentioned that the pVDI sensor is located on a link (e.g. as shown in FIG. 31). The rigid body 184 aligns with e₃ in FIG. 34 and is called the axis of symmetry. The axis e₁, e₂ and e₃ form an orthogonal basis. Two linear accelerometers 202, 204 lie symmetrically about e₃ along e₁ and the other two 206, 208 lie symmetrically about e₃ along e₂.

Let N represent the inertial reference frame and B represent the reference frame fixed on the rigid body 184. Let g be the gravitational acceleration on the body 184, a be the acceleration of point O with respect to the earth (inertial) reference frame and {tilde over (g)} be the resultant of the previous two mentioned accelerations i.e. the acceleration of the platform of contact. Thus,

{tilde over (g)}=g+a.   (18)

A coordinate system fixed in the inertial reference frame with origin at O, Z-axis orthogonal to surface of motion, and fixed in reference frame N is defined with {X, Y,Z} as the orthonormal basis. The Body coordinate system is defined as being fixed in the body reference frame B, origin at O and orthogonal basis vectors e={ê₁, ê₂, ê₃} with ê₃ along the vector joining point O to point C. The Dynamic Equilibrium coordinate system is defined to be fixed in the inertial reference frame N with origin at point O. The vectors E={Ê₁, Ê₂, Ê₃} form a set of orthonormal basis vectors such that Ê₃ is parallel to vector {tilde over (g)}. Point P is a point on the body at a distance I from point O as shown in FIG. 31.

Intermediate Coordinate System and Rotation Matrices: The rigid body 184 possesses two angular degrees-of-freedom i.e. a minimum of two rotations are required to align the body coordinate system to the Dynamic Equilibrium Coordinate system. An intermediate coordinate system is defined with origin at point O and orthogonal basis I={ê|a, ê_(b), ê_(c)} obtained by rotation of the Dynamic Equilibrium coordinate system with angle θ along the Ê₁ axis as shown in FIG. 32. The intermediate coordinate system aligns with the body coordinate system when rotated with angle ψ about axis ê_(b). The angular velocity of the body reference frame B in the inertial reference frame N, N_(ω)B may be written as

N _(ω) B={dot over (θ)}Ê ₁ +{dot over (ψ)}ê ₂   (46)

It is worthwhile to mention that the unit vectors E₁, e₂ are the rotation axes of the Hooke joint at point O. The angular acceleration of reference frame B in reference frame N, N_(α)B, can be calculated using the transport theorem (A. Rao, “Dynamics of particles and rigid bodies: a systematic approach.” Cambridge Univ Pr, 2006)

N _(α) B={umlaut over (θ)}Ê ₁ +{umlaut over (ψ)}ê ₂+(N _(ω) B×({dot over (ψ)}ê ₂))   (47)

Rotation matrices to transform from basis E to basis I and from basis I to basis e are defined by I/E R and e/I R respectively as

$\begin{matrix} {{\,_{E}^{I}R} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & c_{\theta} & s_{\theta} \\ 0 & {- s_{\theta}} & c_{\theta} \end{bmatrix}} & (48) \\ {{\,_{I}^{e}R} = \begin{bmatrix} c_{\psi} & 0 & {- s_{\psi}} \\ 0 & 1 & 0 \\ s_{\psi} & 0 & c_{\psi} \end{bmatrix}} & (49) \\ {{\,_{E}^{e}R} = {{\,_{I}^{e}R}{\,_{E}^{I}R}}} & (50) \end{matrix}$

where s_(j)=sin(j), c_(j)=cos(j), j=θ, φ. Let N_(ω)B/e and N_(α)B/e be the matrix representation of the angular velocity and acceleration represented in the basis e. Thus

$\begin{matrix} {\mspace{79mu} {\text{?} = \begin{bmatrix} \text{?} \\ \overset{.}{\psi} \\ {\overset{.}{\theta}\; s_{\psi}} \end{bmatrix}}} & (51) \\ {\mspace{79mu} {{\text{?} = \begin{bmatrix} {{\overset{¨}{\theta}\text{?}} - {\overset{.}{\theta}s_{\overset{.}{\psi}}\overset{.}{\psi}}} \\ \overset{¨}{\psi} \\ {{\overset{¨}{\theta}s_{\psi}} + {\overset{.}{\theta}\text{?}\psi}} \end{bmatrix}}{\text{?}\text{indicates text missing or illegible when filed}}}} & (52) \end{matrix}$

Dynamic Equilibrium Axis for Planar Motion of the Base: For point C on the body 184, performing a kinematic analysis to obtain the linear acceleration in reference frame N(N_(a) _(C) ) yields

N _(a) _(C) =N _(a) _(O) +N _(α) B×r _(OC) +N _(ω) B×(N _(ω) B×r _(OC))   (53)

where r_(OC) denotes the vector from point O to point C and

N_(a) _(O) ={tilde over (g)}={tilde over (g)}ê₃   (54)

Let the reacting forces acting on the rigid body 184 at the point of contact O be F_(R). Application of Euler's first and second law (A. Rao, “Dynamics of particles and rigid bodies: a systematic approach.” Cambridge Univ Pr, 2006) about center of mass C gives

m·N _(a) _(C) =F _(R)   (55)

I _(B) ^(C) ·N _(α) B|=−K _(d) N _(ω) B+r _(CO) ×F _(R)   (56)

At equilibrium ({umlaut over (θ)}*={dot over (θ)}*=0), {umlaut over (ψ)}*={dot over (ψ)}*=0. Therefore, from Equations 46, 47, 53, 54, 55 and 56, the equilibrium position is θ*=0, ψ*=0 i.e. r_(co) is parallel to {tilde over (g)}. The axis parallel to Ê₃ is called the Dynamic Equilibrium Axis (DEA) for planar motion of the base. When the body is aligned along this axis, it is in equilibrium. The DEA is parallel to the resulting acceleration acting at point O (i.e. {tilde over (g)}), thus, is time-varying (more precisely, acceleration varying). It is worthwhile to mention that acceleration of point O is equivalent to the acceleration of the platform 182/surface of contact (e.g. ground). This is similar to the DEA that has been discussed above for robots experiencing one-dimensional motion. The objective for robot balancing applications is to bring the robot to equilibrium i.e. to align the robot along the DEA.

The robot 180 possesses five degrees-of-freedom two translational (one less due to surface contact) and three rotational. The analysis above shows that the equilibrium position for the robot is not a point or a surface, but an axis called the Dynamic Equilibrium Axis (DEA). Aligning the robot along the axis requires one to move the robot about an equivalent Hooke-joint (two rotational degrees-of-freedom). The orientation of the body 184 about the DEA is irrelevant for robot equilibrium, thus, requiring only two independent parameters (equivalent Hooke-joint) to align the robot 180 along the DEA. It should also be observed that when the robot 180 is not in contact with the platform 182, or ground etc, and experiences free fall, the concept of the DEA ceases to exist as the acceleration experienced by the linear accelerometer at point O is zero i.e. {tilde over (g)}=0. Theoretically, it reinforces the concept of the DEA as the concept of ‘equilibrium position’ ceases to exist in zero gravity.

Assuming that the robot 180 has motors/angular actuators that allow the movement of the robot 180 along directions E₁ and e₂/e_(b) (equivalent Hooke-joint), it is desired to find a first inclination angle θ 192 and a second inclination angle ψ 194 as given in FIG. 32 in order to be able to determine an overall inclinication with respect to the DEA as disclosed herein, which would be necessary to realign the robot along the DEA.

The planar Vestibular Dynamic Inclinometer (pVDI) 200 is designed by strategically and symmetrically placing four dual-axis MEMS linear accelerometers 200, 204, 206, 208 and one tri-axial MEMS gyroscope 210 as shown in FIG. 34. The symmetric placement of the dual axis linear accelerometers 200, 204, 206, 208 in orthogonal directions (e₁, e₂) facilitates mathematical simplicity. The hollow arrows indicate the directions of the sensitive axes of the dual-axis linear accelerometers 200, 204, 206, 208. Unlike the VDI in FIGS. 7 and 8, the directions of the dual-axis linear accelerometers are different. The location of the sensor is at point P 212 which is at distance I from point O in the ê₃ direction.

r _(P) =r _(O) +lê ₃.   (57)

The tri-axial gyroscope 210 is placed at point P 212. First linear accelerometers L₁ 202, 204 and R₁ are placed symmetrically within the first plane that includes axes e₁ and e₃ at distance d₁/2 along the ê₁ direction about point P 212 and measure the acceleration along ê₃ and ê₂. The first dual axis linear accelerometers 202, 204 each include first axes 214 that are oriented perpendicular to the first plane, (and therefore parallel to each other), and second axes 216 that are within the first plane and parallel to the line of symmetry, which may be axis e₃. Similarly, second linear accelerometers L₂ 206, 208 and R₂ are placed symmetrically within the second plane that includes axes e₂ and e₃ at distance d₂/2 along ê₂ direction about point P 212 and measure the acceleration along ê₃ and ê₁ as shown in FIG. 34. The second dual axis linear accelerometers 206, 208 each include first axes 218 oriented perpendicular to the second plane, (and therefore parallel to each other), and second axes 220 that are within the second plane and parallel to the line of symmetry. The pVDI may include a processor 222 to carry out analysis of the measured data.

Thus

$\begin{matrix} {r_{{OL}_{1}} = {{l\; {\hat{e}}_{3}} - {\frac{d_{1}}{2}{\hat{e}}_{1}}}} & (58) \\ {r_{{OR}_{1}} = {{l\; {\hat{e}}_{3}} + {\frac{d_{1}}{2}{\hat{e}}_{1}}}} & (59) \\ {r_{{OL}_{2}} = {{l\; {\hat{e}}_{3}} - {\frac{d_{2}}{2}{\hat{e}}_{2}}}} & (60) \\ {r_{{OR}_{2}} = {{l\; {\hat{e}}_{3}} + {\frac{d_{2}}{2}{{\hat{e}}_{2}.}}}} & (61) \end{matrix}$

Kinematic Analysis and Mathematical Manipulations: Acceleration of any point Q on the body can be written as

N _(a) _(Q) =N _(a) _(O) +(N _(α) B×r _(OQ))+N _(ω) B×(N _(ω) B×r _(OQ))   (62)

where Q may be {L₁,R₁,L₂,R₂}. Gyroscope and accelerometers sense the angular velocity and linear accelerations in the basis e. The following quantities are defined in terms of the measured accelerometer and gyroscope data as

$\begin{matrix} {{\overset{.}{\zeta}}_{1} = \frac{{{}_{}^{}{}_{R1}^{}} - {{}_{}^{}{}_{L1}^{}}}{d_{1}}} & (63) \\ {\zeta_{2} = \frac{{{}_{}^{}{}_{R2}^{}} - {{}_{}^{}{}_{L2}^{}}}{d_{2}}} & (64) \\ {\zeta_{3} = {\frac{{{}_{}^{}{}_{R2}^{}} + {{}_{}^{}{}_{L2}^{}}}{2l} = \frac{{{}_{}^{}{}_{R1}^{}} + {{}_{}^{}{}_{L1}^{}}}{2l}}} & (65) \\ {\zeta_{4} = {{{}_{}^{}{}_{}^{}}.}} & (66) \end{matrix}$

Simplifying the quantities using Equations 58-61 yields

$\begin{matrix} {\zeta_{1} = {{{{}_{}^{}{}_{}^{}} \times {\hat{e}}_{1}} + {{{}_{}^{}{}_{}^{}} \times \left( {{{}_{}^{}{}_{}^{}} \times {\hat{e}}_{1}} \right)}}} & (67) \\ {\zeta_{2} = {{{{}_{}^{}{}_{}^{}} \times {\hat{e}}_{2}} + {{{}_{}^{}{}_{}^{}} \times \left( {{{}_{}^{}{}_{}^{}} \times {\hat{e}}_{2}} \right)}}} & (68) \\ {\zeta_{3} = {\frac{{}_{}^{}{}_{}^{}}{l} + {{{}_{}^{}{}_{}^{}} \times {\hat{e}}_{3}} + {{{}_{}^{}{}_{}^{}} \times \left( {{{}_{}^{}{}_{}^{}} \times {\hat{e}}_{3}} \right)}}} & (69) \end{matrix}$

Inclination Parameter Measurement—Closed Form Solution: Representing equations 66-69 in the basis e i.e. the basis in which the sensor readings are actually observed, is accomplished by using Equations 51, 52 and 54 to obtain

$\begin{matrix} {\zeta_{1} = \begin{bmatrix} {{- {\overset{.}{\psi}}^{2}} - {{\overset{.}{\theta}}^{2}s_{\psi}^{2}}} \\ {{\overset{¨}{\theta}s_{\psi}} + {2\overset{.}{\theta}c_{\psi}\overset{.}{\psi}}} \\ {{- \overset{¨}{\psi}} + {{\overset{.}{\theta}}^{2}c_{\psi}s_{\psi}}} \end{bmatrix}} & (70) \\ {\zeta_{2} = \begin{bmatrix} {{- \overset{¨}{\theta}}s_{\psi}} \\ {- {\overset{.}{\theta}}^{2}} \\ {\overset{¨}{\theta}c_{\psi}} \end{bmatrix}} & (71) \\ {\zeta_{3} = \begin{bmatrix} {\overset{¨}{\psi} - {\left( {\overset{\sim}{g}s_{\psi}c_{\theta}} \right)/l} + {{\overset{.}{\theta}}^{2}c_{\psi}s_{\psi}}} \\ {{\left( {\overset{\sim}{g}s_{\theta}} \right)/l} - {\overset{¨}{\theta}c_{\psi}} + {2\overset{.}{\theta}s_{\psi}\psi}} \\ {{- {\overset{.}{\psi}}^{2}} + {\left( {\overset{\sim}{g}c_{\psi}c_{\theta}} \right)/l} - {{\overset{.}{\theta}}^{2}c_{\psi}^{2}}} \end{bmatrix}} & (72) \\ {\zeta_{4} = {\begin{bmatrix} {\overset{.}{\theta}c_{\psi}} \\ \overset{.}{\psi} \\ {\overset{.}{\theta}s_{\psi}} \end{bmatrix}.}} & (73) \end{matrix}$

The components of the vectors ζ_(i), i=1, 2, 3, 4, will be referred to as ζ_(i,j), j=1, 2, 3. The values that are not observed due to sensor placement are ζ₁₁, ζ₂₂ (striked out in the equations). The mean of the readings of linear accelerometers {R₁, L₁} and {R₂, L₂} provide {ζ₃₂, ζ₃₃} and {ζ₃₁, ζ₃₃} respectively, thus, all three components of ζ₃ are observed.

The terms ζ_(ij) are manipulated to give seven equations in seven unknowns (θ, {dot over (θ)}, {umlaut over (θ)}, ψ, {dot over (ψ)}, {umlaut over (ψ)}, {tilde over (g)})

{umlaut over (ψ)}=ζ₁₃+ζ₄₁ζ₄₃   (74)

{dot over (ψ)}=ζ₄₂   (75)

{umlaut over (θ)}e_(ψ)=ζ₂₃   (76)

{tilde over (g)}s _(ψ) e _(θ) =l(−ζ₃₁−ζ₁₃+2ζ₄₁ζ₄₃)   (77)

{tilde over (g)}s _(θ) =l(ζ₃₂+ζ₂₃−2ζ₄₂ζ₄₃)   (78)

{dot over (θ)}c_(ψ)=ζ₄₁   (79)

{dot over (θ)}s_(ψ)=ζ₄₃   (80)

Other equations that fall out are

{umlaut over (θ)}s _(ψ)=−ζ₂₁=−(ζ₁₂+2ζ₄₁ζ₄₂)   (81)

{tilde over (g)}c _(ψ) c _(θ) =l(ζ₃₃+ζ₄₂ ²+ζ₄₁ ²)   (82)

The function getVal (α, β₁, β₂) solves the pair of equations a sin(α)=β₁, a cos(α)=β₂ for a, given α ε (−π/2, π/2)

getVal(α, β₁, β₂)=sign(c _(α))·sign(β₂)√{square root over (β₁ ²+β₂ ²)}  (83)

Simulation

Algorithm 1 Measurement of inclination parameters from sensor data Require: {ζ₁₂, ζ₁₃}, {ζ₁₂, ζ₁₃}, ζ₃, ζ₄  Let η₁, η₂, η₃ are defined as follows   η₁ = l(−ζ₃₁ − ζ₁₃ + 2ζ₄₁ζ₄₃)   η₂ = l(ζ₃₃ + ζ₄₂ ² + ζ₄₁ ²)   η₃ = l(ζ₃₂ + ζ₂₃ − 2ζ₄₂ζ₄₃) Require: |η₁ ² + η₂ ²| > ε₁ and |η₁ ² + η₂ ² + η₃ ³| > ε₂  {umlaut over (ψ)} ← (−ζ₁₃ + ζ₄₁ζ₄₃)  {dot over (ψ)} ← ζ₄₂   $\left. \psi\leftarrow{\tan^{- 1}\mspace{11mu} \left( \frac{\eta_{1}}{\eta_{2}} \right)} \right.$   ψ ε (−π/2, π/2)  {dot over (θ)} ← getVal (ψ, ζ₄₃ζ₄₁)   $\left. \overset{¨}{\theta}\leftarrow{{getVal}\mspace{14mu} \left( {\psi,\left( {\left( \frac{\zeta_{12} - \zeta_{21}}{2} \right) - {\zeta_{41}\zeta_{43}}} \right),\zeta_{23}} \right)} \right.$  Let η₄ = getVal (ψ, η₁, η₂)  θ ← atan2(η₃, η₄)   θ ε (−π, π]  {tilde over (g)} ← getVal (θ, η₃, η₄)

Simulations were performed in MATLAB®. The sensor noise was modeled as stationary white noise which is constant throughout the frequency spectrum based on the specification data sheet of accelerometer ADXL213 (noise density of 160 μg/√{square root over (Hz)} rms) and gyroscope ADXRS450 (noise density of 0.015 o/sec/√{square root over (Hz)}) manufactured by Analog Devices. The frequency of operation of the sensors is assumed to be 10 Hz. It should be indicated that when {tilde over (g)} is zero, the concept of the DEA ceases to exist. In such cases, measurement for inclination parameters is invalid. The case θ=π/2 is not possible as e_(b)/e₂ aligns with e₃ after the first rotation and no possible rotation along e₂ can align e_(c) with e₃. So, the possibility of measurement of inclination parameters exists only when {tilde over (g)}_(c) _(θ) ≠0. The simulation results are very good and encouraging. One set of simulation results are shown in FIGS. 35, 36, 37, 38, 39, 40, and 41. For this set, I=1 m, d₁=d₂=0.25 m. The measurements for θ, {dot over (θ)}, {umlaut over (θ)}, ψ, {dot over (ψ)}, {umlaut over (ψ)}, and {tilde over (g)} have a standard deviations of 2.42 deg, 2.28 deg, 1.6 deg/sec, 1.5 rad/sec, 25 rad/sec², 20 rad/sec² and 0.27 m/sec² respectively. Very high noise is observed in the measurement of angular acceleration (FIGS. 39, 40) and it is suggested to use filtering techniques to obtain better results. Apart from the angular acceleration, the measurements do not ‘drift’ over time as it does not involve integration of the quantities. The simulations show that the measurement solutions obtained are accurate, reliable and stable. The accuracy of the measurements also indicates that there is no coupling effect on measurements due to placement of robot mechanism.

It is desired to analyze for optimum d₁, d₂. This is equivalent to analyzing optimality for I/d₂ and d₁/d₂. Simulations show that variation of I/d₂ has little effect on the any of the measurements and variation of d₁/d₂ has little effect on measurements of {dot over (θ)}, {dot over (θ)}. FIGS. 42, 43 44 plot the variation of d₁/d₂ to measurement of angles, angular acceleration and acceleration of surface of contact respectively. Analysis from the FIGS. shows that d₁/d₂=1 is a good ratio for sensor design.

Thus, the inclination parameters measured from the pVDI relative to the DEA are inclination angle, angular velocity, angular acceleration and magnitude of the resultant acceleration acting at the platform/surface of contact. The angular acceleration measurements are observed to have very high noise, thus are not accurate without additional filtering. The other inclination parameter measurements are independent of sensor array location, not subject to ‘drift’ and integration errors, and valid for large inclination angles. The measurements are also independent of the acceleration of the platform/surface of contact, thus, are valid for environments with varying gravity (space applications) and accelerating platforms (running, walking motion of robots, etc.). The sensor outputs are ideal control inputs for balancing of robots as the goal is to bring the robots to the equilibrium position (i.e. align it along the DEA). This makes the pVDI ideal for balancing of robots, humanoids, etc.

It can be seen that a novel IMU called a pVDI utilizes a unique configuration of ubiquitous MEMS components such that only kinematic analysis (no calculus or dynamic modeling) is necessary in order to ascertain inclination parameters . As a result the pVDI is relatively inexpensive, does not suffer from drift associated with all other known IMUs, computation costs are low due to the utilization of closed form solutions and lack of need for Kalman or similar type filters, and the data is valid for large angles. This VDI enables a unique concept known as DEA, which references a body's inclination parameters from an axis of stability, whatever the inclination angle(s) of that axis of stability may be. As a result, the inclination parameters are not gravity dependent. Further, the concepts that enable the VDI can be expanded to enable the pVDI, which models five degree of freedom robots, and the DEA associated therewith. Advantageously, the neither the VDI nor the pVDI need to be placed exactly at a joint, which offers design flexibility. For all these reasons the cost of making the VDI is greatly reduced relative to the prior art IMUs.

Further, the introduction of the concept of Dynamic Equilibrium Axis (DEA) related to dynamic equilibrium of robots may improve upon contributions currently resulting from the known concept of the Zero Moment Point (ZMP), used for equilibrium analysis and motion planning of biped locomotion. The ZMP plays and important role for gait analysis, synthesis and control. The DEA is foreseen to be helpful in theoretical consideration and practical development of fast speed running robots.

While various embodiments of the present invention have been shown and described herein, it will be obvious that such embodiments are provided by way of example only. Numerous variations, changes and substitutions may be made without departing from the invention herein. Accordingly, it is intended that the invention be limited only by the spirit and scope of the appended claims.

REFERENCES

-   [1] Algrain, M. C. and Saniie, J. “Estimation of 3D angular motion     using gyroscopes and linear accelerometers.” Aerospace and     Electronic Systems, IEEE Transactions on 27 (1991). 6: 910-920. -   [2] Bachmann, E. R. and C A., NAVAL POSTGRADUATE SCHOOL MONTEREY.     Inertial and magnetic tracking of limb segment orientation for     inserting humans into synthetic environments. Citeseer, 2000. -   [3] Baerveldt, A. J. and Kiang, R. “A low-cost and low-weight     attitude estimation system for an autonomous helicopter.” 1997 IEEE     International Conference on Intelligent Engineering Systems. 1997,     391-395. -   [4] Barshan, B. and Durrant-Whyte, H. F. “Inertial navigation     systems for mobile robots.” Robotics and Automation, IEEE     Transactions on 11 (1995). 3: 328-342. -   [5] Baselli, G., Legnani, G., Franco, P., Brognoli, F., Marras, A.,     Quaranta, F., and Zappa, B. “Assessment of inertial and     gravitational inputs to the vestibular system.” Journal of     Biomechanics 34 (2001). 6: 821-826. -   [6] Baxter, Larry K. Capacitive Sensors: Design and Applications     (IEEE Press Series on Electronics Technology). Wiley-IEEE Press,     1996. -   [7] Bernmark, E. and Wiktorin, C. “A triaxial accelerometer for     measuring arm movements.” Applied Ergonomics 33 (2002). 6: 541-547. -   [8] Bernstein, J. “An overview of MEMS inertial sensing technology.”     Sensors—the Journal of Applied Sensing Technology 20 (2003). 2:     14-21. -   [9] Billet, S., Glosch, H., Kunze, M., Hedrich, F., Frech, J.,     Auber, J., Lang, W., Sandmaier, H., and Wimmer, W. “Convection-based     micromachined inclinometer using SOI technology.” Micro Electro     Mechanical Systems, 2001. MEMS 2001. The 14th IEEE International     Conference on. IEEE, 2001, 159-161. -   [10] Bortz, J. E. “A new mathematical formulation for strapdown     inertial navigation.” Aerospace and Electronic Systems, IEEE     Transactions on (1971). 1: 61-66. -   [11] Bouten, C. V. C., Koekkoek, K. T. M., Verduin, M., Kodde, R.,     and Janssen, J. D. “A triaxial accelerometer and portable data     processing unit for the assessment of daily physical activity.”     Biomedical Engineering, IEEE Transactions on 44 (1997). 3: 136-147. -   [12] Brandt, T. Vertigo: its multisensory syndromes. Springer     Verlag, 1999. -   [13] Chen, J. H., Lee, S. C., and DeBra, D. B. “Gyroscope free     strapdown inertial measurement unit by six linear accelerometers.”     Journal of Guidance, Control, and Dynamics 17 (1994). 2: 286-290. -   [14] Cheng, Peng and Oelmann, B. “Joint-Angle Measurement Using     Accelerometers and Gyroscopes—A Survey.” Instrumentation and     Measurement, IEEE Transactions on 59 (2010). 2: 404-414. -   [15] Corazza, S., M{umlaut over ( )}undermann, L., Chaudhari, A M,     Demattio, T., Cobelli, C., and Andriacchi, T P. “A markerless motion     capture system to study musculoskeletal biomechanics: Visual hull     and simulated annealing approach.” Annals of Biomedical Engineering     34 (2006). 6: 1019-1029. -   [16] Dejnabadi, H., Jolles, B. M., and Aminian, K. “A new approach     to accurate measurement of uniaxial joint angles based on a     combination of accelerometers and gyroscopes.” Biomedical     Engineering, IEEE Transactions on 52 (2005). 8: 1478-1484. -   [17] Foxlin, E. “Inertial head-tracker sensor fusion by a     complimentary separate-bias kalman filter.” Virtual Reality Annual     International Symposium. Published by the IEEE Computer Society,     1996, 185. -   [18] Ghassemi, F., Tafazoli, S., Lawrence, P D, and     Hashtrudi-Zaad, K. “An accelerometer-based joint angle sensor for     heavy-duty manipulators.” Robotics and Automation, 2002.     Proceedings. ICRA'02. IEEE International Conference on. vol. 2.     IEEE, 2002, 1771-1776. -   [19] Ghassemi, F., Tafazoli, S., Lawrence, P. D., and     Hashtrudi-Zaad, K. “Design and Calibration of an Integration-Free     Accelerometer-Based Joint-Angle Sensor.” Instrumentation and     Measurement, IEEE Transactions on 57 (2007). 1: 150-159. -   [20] Horak, F. B. and Macpherson, J. M. “Postural orientation and     equilibrium.” Comprehensive Physiology (1996). -   [21] IGNAGNI, M B. “OPTIMAL STRAPDOWN ATTITUDE INTEGRATION     ALGORITHMS.” JOURNAL OF GUIDANCE CONTROL AND DYNAMICS 13 (1990). 2:     363-369. -   [22] Jiang, Y. F. and Lin, Y. P. “Improved strapdown coning     algorithms.” Aerospace and Electronic Systems, IEEE Transactions on     28 (1992). 2: 484-490. -   [23] Kalman, R. E. et al. “A new approach to linear filtering and     prediction problems.” Journal of basic Engineering 82 (1960). 1:     35-45. -   [24] Kemp, B., Janssen, A. J. M. W., and van der Kamp, B. “Body     position can be monitored in 3D using miniature accelerometers and     earth-magnetic field sensors.” Electroencephalography and Clinical     Neurophysiology/Electromyography and Motor Control 109 (1998). 6:     484-488. -   [25] King, A D. “Inertial navigation-forty years of evolution.” GEC     review 13 (1998). 3: 140-149. -   [26] Kurata, S., Makikawa, M., Kobayashi, H., Takahashi, A., and     Tokue, R. “Joint motion monitoring by accelerometers set at both     near sides around the joint.” Engineering in Medicine and Biology     Society, 1998. Proceedings of the 20th Annual International     Conference of the IEEE. vol. 4. 1998, 1936-1939 vol. 4. -   [27] Lapadatu, D., Habibi, S., Reppen, B., Salomonsen, G., and     Kvisteroy, T. “Dual-axes capacitive inclinometer/low-g accelerometer     for automotive applications.” Micro Electro Mechanical     Systems, 2001. MEMS 2001. The 14th IEEE International Conference on.     IEEE, 2001, 34-37. -   [28] Laurens, J. and Droulez, J. “Bayesian processing of vestibular     information.” Biological cybernetics 96 (2007). 4: 389-404. -   [29] L{umlaut over ( )}otters, J C, Schipper, J., Veltink, P H,     Olthuis, W., and Bergveld, P. “Procedure for in-use calibration of     triaxial accelerometers in medical applications.” Sensors and     Actuators A: Physical 68 (1998). 1-3: 221-228. -   [30] Luinge, H. J. and Veltink, P. H. “Inclination measurement of     human movement using a 3-D accelerometer with autocalibration.”     Neural Systems and Rehabilitation Engineering, IEEE Transactions on     12 (2004). 1: 112-121. -   [31] ______. “Measuring orientation of human body segments using     miniature gyroscopes and accelerometers.” Medical and Biological     Engineering and Computing 43 (2005). 2: 273-282. -   [32] Mayagoitia, R. E., Nene, A. V., and Veltink, P. H.     “Accelerometer and rate gyroscope measurement of kinematics: an     inexpensive alternative to optical motion analysis systems.” Journal     of biomechanics 35 (2002). 4: 537-542. -   [33] Mergner, T., Schweigart, G., and Fennell, L. “Vestibular     humanoid postural control.” Journal of Physiology—Paris 103 (2009).     3-5: 178-194. -   [34] Mergner, T., Schweigart, G., Maurer, C., and Bl{umlaut over (     )}umle, A. “Human postural responses to motion of real and virtual     visual environments under different support base conditions.”     Experimental brain research 167 (2005). 4: 535-556. -   [35] Miyazaki, S. “Long-term unrestrained measurement of stride     length and walking velocity utilizing a piezoelectric gyroscope.”     Biomedical Engineering, IEEE Transactions on 44 (1997). 8: 753-759. -   [36] Moe-Nilssen, R. “A new method for evaluating motor control in     gait under real-life environmental conditions. Part 1: The     instrument.” Clinical Biomechanics 13 (1998). 4-5: 320-327. -   [37] Moe-Nilssen, R. and Helbostad, J. L. “Trunk accelerometry as a     measure of balance control during quiet standing.” Gait & posture 16     (2002). 1: 60-68. -   [38] Moeslund, T. B., Hilton, A., and Kruger, V. “A survey of     advances in vision-based human motion capture and analysis.”     Computer vision and image understanding 104 (2006). 2-3: 90-126. -   [39] Najafi, B., Aminian, K., Loew, F., Blanc, Y., and Robert, P. A.     “Measurement of stand-sit and sit-stand transitions using a     miniature gyroscope and its application in fall risk evaluation in     the elderly.” Biomedical Engineering, IEEE Transactions on 49     (2002). 8: 843-851. -   [40] Nebot, E. and Durrant-Whyte, H. “Initial calibration and     alignment of low-cost inertial navigation units for land vehicle     applications.” Journal of Robotic Systems 16 (1999).2: 81-92. -   [41] Pappas, I. P. I., Popovic, M. R., Keller, T., Dietz, V., and     Morari, M. “A reliable gait phase detection system.” Neural Systems     and Rehabilitation Engineering, IEEE Transactions on 9 (2001). 2:     113-125. -   [42] Patane, F., Laschi, C., Miwa, H., Guglielmelli, E., Dario, P.,     and Takanishi, A. “Design and development of a biologically-inspired     artificial vestibular system for robot heads.” Intelligent Robots     and Systems, 2004. (IROS 2004). Proceedings. 2004 IEEE/RSJ     International Conference on. vol. 2. 2004, 1317-1322 vol. 2. -   [43] Pope, M H, BEVINS, T., WILDER, D. G., and Frymoyer, J W. “The     relationship between anthropometric, postural, muscular, and     mobility characteristics of males ages 18-55.” Spine 10 (1985). 7:     644. -   [44] Poppe, R. “Vision-based human motion analysis: An overview.”     Computer Vision and Image Understanding 108 (2007). 1-2: 4-18. -   [45] Powell, W. B. and Pheifer, D. “The Electrolytic Tilt Sensors.”     Sensors-May (2000). -   [46] Rabbitt, R., Damiano, E., and Grant, J. “Biomechanics of the     semicircular canals and otolith organs.” The vestibular system     (2004): 153-201. -   [47] Rhodes, I. “A tutorial introduction to estimation and     filtering.” Automatic Control, IEEE Transactions on 16 (1971). 6:     688-706. -   [48] Roetenberg, D. “Inertial and magnetic sensing of human motion.”     (2006). -   [49] Schuler, A. R., Grammatikos, A., and Fegley, K. A. “Measuring     rotational motion with linear accelerometers.” IEEE Trans. on AES 3     (1967). 3: 465-472. -   [50] Steultjens, M P M, Dekker, J., Van Baar, M E, Oostendorp, R A     B, and Bijlsma, J W J. “Range of joint motion and disability in     patients with osteoarthritis of the knee or hip.” Rheumatology 39     (2000). 9: 955. -   [51] Tahboub, K. A. “Optimal estimation of body angular velocity     based on otolith-canal interaction.” Control and Automation, 2008     16th Mediterranean Conference on. IEEE, ????, 848-853. -   [52] Tong, K. and Granat, M. H. “A practical gait analysis system     using gyroscopes.” Medical engineering & physics 21 (1999). 2:     87-94. -   [53] Vaganay, J., Aldon, M J, and Fournier, A. “Mobile robot     attitude estimation by fusion of inertial data.” 1993 IEEE     International Conference on Robotics and Automation, 1993.     Proceedings. 1993, 277-282. -   [54] van den Bogert, A. J., Read, L., and Nigg, B. M. “A method for     inverse dynamic analysis using accelerometry.” Journal of     biomechanics 29 (1996). 7: 949-954. -   [55] Veltink, P. H., Luinge, H. J., Kooi, B. J., Baten, C. T. M.,     Slycke, P., Olthuis, W., and Bergveld, P. “The artificial vestibular     system-design of a tri-axial inertial sensor system and its     application in the study of human movement.” Control of Posture and     Gait, Proceedings of the International Society for Postural and Gait     Research ISPG (2001). -   [56] Veltink, P. H., Martens, L J, and Van Lummel, R. C. “Detection     of static and dynamic activities using uniaxial accelerometers.”     IEEE Transactions on Rehabilitation Engineering 4 (1996). 4: 375. -   [57] Vukobratovic, M. and Borovac, B. “Zero-moment point-thirty five     years of its life.” International Journal of Humanoid Robotics 1     (2004). 1: 157-173. -   [58] Willemsen, A. T. M., Frigo, C., and Boom, H. B. K. “Lower     extremity angle measurement with accelerometers-error and     sensitivity analysis”. Biomedical Engineering, IEEE Transactions on,     38(12), pp. 1186-1193. -   [59] T. Mergner, G. Schweigart, and L. Fennell, “Vestibular humanoid     postural control,” Journal of Physiology—Paris, vol. 103, no. 3-5,     pp. 178-194, 2009. -   [60] V. Vikas, J. Godowski, and C. Crane, “Balancing robots using     vestibular dynamic inclinometer,” in Florida Conference on Recent     Advances in Robotics, May 2010. -   [61] H. Luinge, “Inertial sensing of human movement,” Unpublished     PhD, University of Twente, Enschede, the Netherlands, 2002. -   [62] H. Luinge and P. Veltink, “Measuring orientation of human body     segments using miniature gyroscopes and accelerometers,” Medical and     Biological Engineering and Computing, vol. 43, no. 2, pp. 273-282,     2005. -   [63] V. Vikas and C. Crane, “Robot inclination estimation using     vestibular dynamic inclinometer,” in International Conference on     Robotics and Applications (accepted). ACTA Press, November 2010. -   [64] A. Rao, “Dynamics of particles and rigid bodies: a systematic     approach.” Cambridge Univ Pr, 2006. -   [65] H. Khalil, “Nonlinear systems”, 3rd ed. Upper Saddle River, NJ     Prentice Hall, 2001. -   [66] Williamson, R., and Andrews, B., 2001. “Detecting absolute     human knee angle and angular velocity using accelerometers and rate     gyroscopes”. Medical and Biological Engineering and Computing,     39(3), pp. 294-302. -   [67] Vikas, V., and Crane, C., 2010. “Robot inclination estimation     using vestibular dynamic inclinometer”. In IASTED International     Conference Robotics -   [68] ______, “Inclination estimation and balance of robot using     vestibular dynamic inclinometer,” in IEEE-RAS International     Conference on Humanoid Robots, December 2010, pp. 245-250. 

The invention claimed is:
 1. A method of determining orientation parameters of a rigid body, comprising: associating at least two multi-axis accelerometers with the body, wherein the body comprises a base end, a distal end, and a line of symmetry of the body between the base end and the distal end, wherein two first multi-axis accelerometers are disposed at a first point along the line of symmetry between the base end and the distal end, wherein each first multi-axis accelerometer is disposed at equal distances from the line of symmetry, and wherein the line of symmetry and both first multi-axis accelerometers lie in a first plane; associating a gyroscope with the body; gathering measured data from the two first multi-axis accelerometers and the gyroscope; and applying analysis free of calculus to determine a first inclination angle of the line of symmetry from a stable orientation.
 2. The method of claim 1, further comprising applying the analysis free of calculus to determine a magnitude of total acceleration acting on the body.
 3. The method of claim 1, wherein the inclination angle is from a dynamic equilibrium axis, and wherein the dynamic equilibrium axis is parallel to a direction of a total acceleration a point of contact on the body.
 4. The method of claim 3, wherein the total acceleration includes gravity and an acceleration other than gravity.
 5. The method of claim 3, wherein the body moves within the first plane, wherein the dynamic equilibrium axis is disposed within the first plane, and wherein the inclination angle is within the first plane.
 6. The method of claim 5, wherein first axes of the first multi-axis accelerometers are disposed within the first plane and are perpendicular to the line of symmetry, and wherein second axes of the first multi-axis accelerometers are disposed within the first plane and are parallel to the line of symmetry.
 7. The method of claim 6, wherein the first multi-axis accelerometers comprise dual axis accelerometers.
 8. The method of claim 1, wherein the gyroscope comprises a single axis gyroscope.
 9. The method of claim 4, further comprising: associating a two second multi-axis accelerometers at the first point, wherein each second multi-axis accelerometer is disposed at equal distances from the line of symmetry, and wherein the line of symmetry and both first multi-axis accelerometers lie in a second plane that is perpendicular to the first plane; and determining a second inclination angle, wherein the base end is constrained to move on a third surface transverse to the first plane and the second plane; wherein the first plane and the second plane intersect each other at the base end, wherein the body is free to rotate and limited to movement in the first plane and in the second plane, and wherein the first inclination angle and the second inclination angle determine an overall inclination from the dynamic equilibrium axis.
 10. The method of claim 9, wherein each first multi-axis accelerometer comprises a first axis oriented perpendicular to the first plane and a second axis within the first plane and parallel to the line of symmetry, and wherein each second multi-axis accelerometer comprises a first axis oriented perpendicular to the second plane and a second axis within the second plane and parallel to the line of symmetry.
 11. The method of claim 10, wherein the first multi-axis accelerometers and the two second multi-axis accelerometers comprise dual axis accelerometers.
 12. The method of claim 1, wherein measured data is sampled as discrete sets of measure data over time, and wherein inclination parameters are determined as a set of inclination parameters derived solely from a respective set of measured data.
 13. An apparatus for determining inclination parameters of a body, comprising: a gyroscope configured to be disposed on the body; at least two multi-axis accelerometers configured to be secured with respect to the first point such that two first multi-axis accelerometers are disposed symmetrically about the first point, and the line of symmetry and the two first multi-axis accelerometers lie in a first plane.
 14. The apparatus of claim 13, further comprising a processor configured to determine an inclination angle of the body with respect to a dynamic equilibrium angle that is parallel to a direction of a total acceleration acting on the body, wherein the total acceleration comprises gravity and may or may not comprise an acceleration other than gravity.
 15. The apparatus of claim 13, wherein when the body is configured such that a movement of the body is limited to the first plane, each of the first multi-axis accelerometers comprise first axes disposed within the first plane and perpendicular to the line of symmetry and second axes disposed within the first plane and parallel to the line of symmetry.
 16. The apparatus of claim 15, wherein the two first multi-axis accelerometers, and the gyroscope comprises a tri-axial gyroscope.
 17. The apparatus of claim 13, further comprising two second multi-axis accelerometers configured to be secured with respect to the first point such that the two second multi-axis accelerometers are disposed symmetrically about the first point, and the line of symmetry and the two second multi-axis accelerometers lie in a second plane perpendicular to the first plane.
 18. The apparatus of claim 17, wherein when the body is configured such that a movement of the base end is limited to a surface transverse to the first plane and the second plane, the first plane and the second plane intersect each other at the base end, the body is free to rotate and movement is of the body is limited to the first plane and the second plane, and wherein each first multi-axis accelerometer comprises a first axis oriented perpendicular to the first plane and a second axis within the first plane and parallel to the line of symmetry, and each second multi-axis accelerometer comprises a first axis oriented perpendicular to the second plane and a second axis within the second plane and parallel to the line of symmetry.
 19. The apparatus of claim 18, wherein the two first multi-axis accelerometers comprise dual axis accelerometers. 